Embodiments of the present invention relate to a reverberator and a method for reverberating an audio signal. Further embodiments of the present invention relate to an efficient frequency transform domain reverberator with control for arbitrary reverberation times.
Reverberators are used in creating room effect to audio signals. There are numerous audio signal processing applications where there is a need to add room effect to the signal, namely early reflections and reverberation. Of these two, the early reflections appear for only a very short time period after the signal itself, and can thus be modelled more easily, while the reverberation spans over a long time interval and is often audible up to several seconds after the offset of the dry source sound. The long time span brings the design of the reverberator into the main focus in systems which necessitate a room effect while necessitating low to medium computational cost.
The design goal of the reverberator may be to maximize the perceptual similarity to a certain real or virtual space, or to create reverberation that maximizes some other perceptual property to maximize the listener preference. There exist several algorithms for reverberation, especially for time domain signals, and the design goal almost is to find a balance where the desired quality is maximally reached while the computational load is minimized.
Historically, the reverb design has almost entirely focused on time domain signals. However, in modern audio processing schemes it is very common to have the processing in a short time frequency transform domain, such as in the QMF (quadrature mirror filterbank) domain used in MPEG surround and related technologies, MDCT (modified discrete cosine transform) domain, used in perceptual audio codecs and STFT (short time Fourier transform) domain which is used in a very wide range of applications. While the methods have differences, the common factor is that the time domain signal is divided into time-frequency tiles, such as illustrated in FIG. 16. The transform and the inverse transform operation is typically lossless, and the information about the sound content is thus fully contained in both representations. The time-frequency representation is used especially in perceptual processing of audio since it has closer resemblance to the way human hearing system processes the sound.
According to the state-of-the-art, there are several existing solutions in creating reverberation. In “Frequency Domain Artificial Reverberation using Spectral Magnitude Decay”, Vickers et al, 2006, 121th AES convention October 2006 and in US 2008/0085008 A1, a known reverb algorithm functioning in frequency domain is described. Also, “Improvements of Artificial Reverberation by Use of Subband Feedback Delay Networks”, Igor Nicolic, 112nd AES convention, 2002, proposes creating reverberation in frequency bands.
An infinitely repeating while decaying impulse response of a reverb can be found in “Artificial Reverberation Based on a Pseudo-Random Impulse Response” parts I and II, Rubak & Johansen, 104th AES convention 1998 and 106th AES convention 1999 and “Reverberation Modeling Using Velvet Noise”, Karjalainen & Järveläinen, 30th AES conference March 2007. However, the just-mentioned references are about time-domain reverb algorithms.
In “The Switch Convolution Reverberator”, Lee et al, 127th AES Convention October 2009, an artificial reverberator having low memory and small computation costs, appropriate for mobile devices, is presented. The reverberator consists of an equalized comb filter driving a convolution with a short noise sequence. The reverberator equalization and decay rate are controlled by low-order IIR filters, and the echo density is that of the noise sequence, wherein the noise sequence is regularly updated or “switched”. Moreover, several structures for updating the noise sequence, including a leaky integrator sensitive to a signal crest factor, and a multi-band architecture, are described.
An underlying problem of the existing solutions is that the current most advanced efficient reverberation algorithms function in the time domain. However, many applications, which work in the frequency domain, necessitate a reverberation unit. Thus, in order to apply these time domain algorithms to a signal, the application will have to first inverse transform the signal before applying the reverberation algorithm in the time domain. This, however, may be impractical depending on the application.
Another disadvantage of known time domain reverberators is that they can be inflexible in terms of designing the reverb to fit a certain set of frequency dependent reverberation times, which is especially important for human spatial perception.